iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
Software Development

Azure Application Insights系列 第 13

Day - 13. 自訂事件和度量(Trace)

  • 分享至 

  • xImage
  •  

Trace 中文是 追蹤

但,在這邊可不是只是一般追蹤而已

在這裡Trace這張資料表代表的是分散式追蹤結果

那麼什麼是分散式追蹤呢?

這東西是由於現今我們在於雲端技術快速的演進,雖然上面的服務更容易被我們使用

但是卻造成了整體系統更理解偵錯

舉個例子:現在有**三個方法(Method)**分別為A,B,C

我們可能會使用方法A去呼叫方法B,再用方法B去呼叫方法C

或是如果你高興的話,你也可以在方法A呼叫方法B,諸如此類的用法

那...我們該如何在Azure Application Insights去做偵錯呢?

這時候有個叫做分散式追蹤的好東西就出現了

分散式追蹤相當於雲端和微服務架構裡的呼叫堆疊,但增添了簡易的效能分析工具。
新增了時間維度的呼叫堆疊可顯示單一交易/要求,可以協助我們找出問題的根本原因及每個要求的效能瓶頸。

那....我們該如何操作呢?

這邊我們就要開始寫點Code了

就如前一篇Day - 12. 自訂事件和度量(customEvents),調用TelemetryClient提供的方法

只不過這次我們要調用的是TrackTrace

使用TrackTrace可以讓我們藉由留下麵包屑來診斷問題

不清楚什麼是麵包屑的人,請點擊由此去查看或是google 糖果屋

只是這邊我們的麵包屑不會被吃掉 哈哈哈

TrackTrace需要三個參數,分別為message、properties、severityLevel

參數 描述
message 診斷資料。 可以比名稱長很多。
properties 字串與字串的對應:用來在入口網站中篩選例外狀況的額外資料。預設為空白。
severityLevel 支援的值:SeverityLevel.ts

接著讓我們在TestA方法中塞入下列的程式碼

telemetryClient.TrackTrace("TestA",
                SeverityLevel.Warning,
                new Dictionary<string, string> { { "TestA", "Warning" } });

https://ithelp.ithome.com.tw/upload/images/20190928/20103426Hb7Yu8U8Yp.png

接著就讓我們將應用程式發佈到Azure上去

https://ithelp.ithome.com.tw/upload/images/20190927/20103426BIRXMf8bRy.png

https://ithelp.ithome.com.tw/upload/images/20190927/201034265mB3cbx6Lu.png

接著再讓我們帶上查詢

traces 
| where * has "TestA"

https://ithelp.ithome.com.tw/upload/images/20190928/20103426Zo0m1i6Hg0.png

我們同樣的也得到了我們所需要的紀錄


上一篇
Day - 12. 自訂事件和度量(customEvents)
下一篇
Day - 14. 自訂事件和度量(pageView)
系列文
Azure Application Insights30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言